package practice.Day12;

import java.util.Scanner;

/**
 * @Author quan
 * @Description 查找组成一个偶数最接近的两个素数
 * @Date 2023/5/20 19:24
 */
public class Num2_closerTwoNum {
    public static void main(String[] args) {
        //思想：双指针 100 %
        Scanner sc = new Scanner(System.in);
//        int n = 20;
        int n = sc.nextInt();
        int mid = n/2;
        //1、定义一个变量。记录非素数情况下的两数差
        int minNum = Integer.MAX_VALUE;
        int n1 = 0;
        int n2 = 0;
        for (int i = 0; i <= mid; ) {
            for (int j = n; j >=mid ;) {
                //2、判断i与j是素数的情况，只有是素数才继续执行后面的操作
                if (isPrime(i) && isPrime(j)) {
                    //3、不断更新两数之差的最小值
                    if(minNum > j-i){
                        minNum = j-i;
                        n1 = i;
                        n2 = j;
                    }
                }
                //4、注意这里i与j的变化要对应，卸载for循环里面，i变一次j要变n次是不对的
                i++;
                j--;
            }
        }
        //5、输出两者的值
        System.out.println(n1);
        System.out.println(n2);
    }

    /**
     * 输入一个数字，返回布尔值观察是不是素数
     * @param n
     * @return
     */
    public static boolean isPrime(int n){
        for (int i = 2; i < n; i++) {
            if(n % i == 0){
                return false;
            }
        }
        return true;
    }
}
